Skip to content

パッケージアイコン・CI での警告エラー化・GitHub Release の自動作成・.editorconfig・.gitignore の整理 - #17

Merged
cssho merged 5 commits into
masterfrom
repo-maintenance-2
Nov 6, 2026
Merged

cssho merged 5 commits into
masterfrom
repo-maintenance-2

Conversation

@cssho

@cssho cssho commented Nov 6, 2026 •

Copy link
Copy Markdown
Owner

変更内容

パッケージアイコン

  • icon.png(128×128)を追加し、3 パッケージの PackageIcon に設定した。
  • このライブラリ(SkiaSharp 版)で描いたカスタマバーコードの先頭 4 シンボル(スタート + 郵便番号 3 桁)を、縦に伸ばして紺の背景に白で描いている。

CI では警告をエラーにする

  • GITHUB_ACTIONS のときだけ TreatWarningsAsErrors を有効にした(ローカルは警告のまま)。XML ドキュメントコメントの付け忘れ(CS1591)などを見逃さない。
  • 依存パッケージの脆弱性の警告(NU1901〜NU1904)は警告のままにした。関係のない PR まで止めないためで、これらは Dependabot の security updates で対応する。

タグの公開後に GitHub Release を作る

  • github-release ジョブを追加した。nuget.org への公開(publish)が成功したら、gh release create --generate-notes でタグの Release を作る。
  • 書き込み権限(contents: write)は、Trusted Publishing を扱う publish ジョブには付けず、このジョブだけに付けている。
  • - を含むタグ(v2.1.0-beta.1 など)はプレリリースにする。

.editorconfig

  • .cs の UTF-8(BOM 付き)、インデント(基本 4、XML・YAML・JSON などは 2、.sln はタブ)を明記した。
  • 改行コードは core.autocrlf に任せて指定しない。TestData は対象外にした。

.gitignore

  • 初期テンプレート(VS2015 時代)のままだったので、dotnet new gitignore で作り直した。
  • このリポジトリ用に、.claude/settings.local.json と、リポジトリに含めない実際の郵便番号データ(utf_ken_all.csv・KEN_ALL.CSV・JIGYOSYO.CSV と zip)を追加した。
  • Windows では大文字小文字を区別しないため、KEN_ALL*.CSV のようなパターンにするとテスト用の ken_all_sample.csv まで除外されてしまう。ファイル名をそのまま指定している。

レビューの指摘への対応

  • 脆弱性データを取得できなかったときの警告 NU1900 も、CI でエラーにしない(nuget.org 側の一時的な不調で PR や公開が止まらないように)。
  • GitHub Release が作成済みならスキップし、ジョブを再実行しても失敗しないようにした。
  • アイコンの生成スクリプト tools/GenerateIcon.cs を追加した(dotnet run tools/GenerateIcon.cs -- icon.png)。バーのある範囲を中央に置き直した(左右の余白が 24px と 20px でずれていた。今は上下左右とも 22px)。
  • ローカルで CI と同じ警告の確認をする方法(-p:TreatWarningsAsErrors=true)を CLAUDE.md に書いた。
  • .gitignore に node_modules/ を戻した。.editorconfig で、自動生成の actions.lock を対象外にした。

確認

  • GITHUB_ACTIONS=true で、コアの両方のビルド(net8.0・netstandard2.0)のビルドが警告 0 件・エラー 0 件で通ることを確認した。
  • 一時的にドキュメントコメントのない公開プロパティを足すと、GITHUB_ACTIONS=true では CS1591 がエラー、ローカルでは警告になることを確認した(確認後に元に戻している)。
  • dotnet pack で、3 パッケージすべてに icon.png が含まれ、nuspec に <icon>icon.png</icon> が入ることを確認した。
  • git ls-files -ci --exclude-standard で、管理中のファイルが .gitignore で除外されないことを確認した。
  • gh actions-lock --verify-local は問題なし(新しいアクションは追加していない)。
  • github-release ジョブは、次のタグを push したときに初めて動く。

🤖 Generated with Claude Code

https://claude.ai/code/session_01HNb8H3hV3ndoRpyuu59g1u

cssho and others added 5 commits November 7, 2026 00:17
初期テンプレート(VS2015 時代)のままだったため。Claude Code の個人用設定と、リポジトリに含めない実際の郵便番号データ(utf_ken_all.csv など)を追加。

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01HNb8H3hV3ndoRpyuu59g1u
.cs の UTF-8(BOM 付き)とインデントを明記。改行コードは core.autocrlf に任せ、テストデータは対象外にする。

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01HNb8H3hV3ndoRpyuu59g1u
アイコンはこのライブラリで描いたカスタマバーコードの先頭4シンボル。CI では TreatWarningsAsErrors で XML ドキュメントコメントの付け忘れなどを止める(依存パッケージの脆弱性の警告 NU1901〜NU1904 は除く)。

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01HNb8H3hV3ndoRpyuu59g1u
github-release ジョブで、リリースノートをマージした PR から自動生成する。書き込み権限は Trusted Publishing を扱う publish ジョブと分ける。CLAUDE.md にも今回の整備内容を追記。

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01HNb8H3hV3ndoRpyuu59g1u
- 脆弱性データを取得できなかったときの NU1900 も CI でエラーにしない
- GitHub Release が作成済みならスキップし、ジョブの再実行で失敗しないようにする
- アイコンの生成スクリプト tools/GenerateIcon.cs を追加し、バーを中央に置き直す(左右の余白が 24px と 20px だった)
- ローカルで CI と同じ警告の確認をする方法を CLAUDE.md に追記
- .gitignore に node_modules/ を戻し、.editorconfig で actions.lock を対象外にする

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01HNb8H3hV3ndoRpyuu59g1u
@cssho
cssho merged commit a0b529d into master Nov 6, 2026
13 checks passed
@cssho
cssho deleted the repo-maintenance-2 branch November 6, 2026 15:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant